﻿using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content.Pipeline;
using Microsoft.Xna.Framework.Content.Pipeline.Graphics;
using Microsoft.Xna.Framework.Content.Pipeline.Processors;
using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler;

namespace XnaGuiContentPipeline
{
    public class TiledRectangleContent
    {
        public Rectangle rectangle1;
        public Rectangle rectangle2;
    }

    public class ThemeSpriteContent
    {
        public string Name;
        public int Resolution;
        public TiledRectangleContent Rectangle;
        public ExternalReference<TextureContent> Texture;
        public Texture2DContent TextureContent;
    }

    public class ThemeElementContent
    {
        public string Name;
        public int Resolution;
        public List<ThemeSpriteContent> States;
    }

    public class ThemeFontContent
    {
        public string Name;
        public int Resolution;
        public ExternalReference<SpriteFontContent> Font;
    }

    public class UiThemeContent : ContentItem
    {
        public List<ThemeFontContent> Fonts = new List<ThemeFontContent>();
        public Dictionary<string, ThemeSpriteContent> Sprites = new Dictionary<string, ThemeSpriteContent>();
        public List<ThemeElementContent> Elements = new List<ThemeElementContent>();
    }
}
